﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace SimStatus.ReportServer
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码、svc 和配置文件中的类名“ReportService”。
    // 注意: 为了启动 WCF 测试客户端以测试此服务，请在解决方案资源管理器中选择 ReportService.svc 或 ReportService.svc.cs，然后开始调试。
    public class ReportService : IReportService
    {
        public void DoWork(ReportServer.SimStatus_Report report)
        {
            ReportServer.ReportDataContext ctx = new ReportDataContext("Data Source=116.255.151.92;Initial Catalog=JuExpo;Persist Security Info=True;User ID=JuExpo_f;Password=kge2001");
            ctx.SimStatus_Report.InsertOnSubmit(report);
        }

        public Version GetLastVersion()
        {
            ReportServer.ReportDataContext ctx = new ReportDataContext("Data Source=116.255.151.92;Initial Catalog=JuExpo;Persist Security Info=True;User ID=JuExpo_f;Password=kge2001");
            var ver = ctx.SimStatus_Version.OrderByDescending(p => p.CreateDate).First();
            return new Version(ver.Major, ver.Minor, ver.Build, ver.Revision);
        }

        public string GetContent(Version ver)
        {
            ReportServer.ReportDataContext ctx = new ReportDataContext("Data Source=116.255.151.92;Initial Catalog=JuExpo;Persist Security Info=True;User ID=JuExpo_f;Password=kge2001");
            var res = ctx.SimStatus_Version.TakeWhile(p => p.Major == ver.Major && p.Minor == ver.Minor && p.Build == ver.Build && p.Revision == ver.Revision)
                .First();
            return res.Content;
        }
    }

    
}
